branchwiseguys/main/Character References Cleanupcancel
30 Commits over 31 Days - 0.04cph!
Tried to remove the Character ref from Criminal but it's just not going to work easily. Here's some more minor stuff instead.
Removed character ref from welfare.
Fixed player ragdoll "MakeStatic", which hadn't actually been firing
Player ragdoll conversion
Fixed vehicle wreckage bugs
General stuff. Fix trade tables and item transfer being broken
Removed ICharacterInventory entirely. Can now simply use an IContainer
Working on glorious ItemContainer simplifying revolution. A few compiler errors remaining here
Removin' more character refs
More conversion to remove character refs
Testing and fixing some bugs
Making spectators a character type was a mess. Too many places where something wants a character, but only if it's a real physical character and NOT a spectator. Separated them but gave them a common base interface as well.
Spectator and PersistentPerson character refs simplified. Spectator now implements IPlayableCharacter
Moving away from having Character implement all these interfaces. Instead, have its components implement the interfaces, and expose them if necessary. Starting with IHealth.
Removed character ref from CharacterMotorHitReceiver
Removed Character ref from FootstepsControler
IVehicleUser no longer needs a character reference
Major refactoring effort to remove Character references outside of Character. Cheated a bit and created an ICharacter interface to use when no other option presents itself, which hopefully can end up much more minimal than Character itself.
Using IBuildingUnitUser in building ownership. Removing character references. IBuildingUnitUser is now an interface on the owner PersistentPerson rather than the character since it's the person, and not their current character, that really owns a building.